1. Field of Invention
Embodiments of the present invention relate, in general, to a redundant Packet Data Serving Node (PDSN) environment. More specifically, the Embodiments of the present invention relate to methods and systems for preventing data-packet loss upon a switchover to a standby device in the redundant PDSN environment.
2. Description of the Background Art
Code Division Multiple Access 2000 packet data services solution enables mobile operators to deliver packet data services in a code division multiple access (CDMA) environment. The CDMA is a technology of multiple access that does not divide the channel by time or frequency. Instead, CDMA comprises encoding data with a code associated with a channel and uses the constructive interference properties of the signal medium to perform the multiplexing. CDMA2000 is a multiple-access scheme for digital radio that can transmit voice, data and signaling data between mobile telephones and cell sites.
In a mobile wireless network such as CDMA2000, user sessions are terminated at a Packet Data Serving Node (PDSN). User sessions are active sessions wherein data-packet transfer takes place via the PDSN. The PDSN acts as the connector between the radio access and Internet Protocol (IP) networks. The PDSN is responsible for managing Point-to-Point Protocol (PPP) sessions between a mobile provider's core IP network and a mobile station. The PDSN can perform such activities via a Packet Control Function (PCF). A PCF is an entity in a radio access network that controls the transmission of packets between base station controller (BSC) and PDSN, here BSC is a part of the wireless system's infrastructure, that controls one or multiple cell sites' radio signals, thereby reducing the load. The BSC performs radio signal management functions for base receiver stations, such as frequency assignment and handoff.
PDSN and PCF use a Generic Routing Encapsulation (GRE) tunnel between them for commencing user sessions. The GRE tunnel is a protocol for encapsulation of an arbitrary network layer protocol over another arbitrary network layer protocol. In general, a packet that needs to be encapsulated and delivered to a destination is called a payload. The payload is first encapsulated in a GRE frame. The resulting GRE frame is encapsulated in another protocol and then forwarded to its destination. The other protocol is usually called the delivery protocol. The GRE tunnel uses a GRE key to distinguish different user sessions over the same GRE tunnel. The GRE key field contains a four-octet number, which is inserted by an encapsulator present in the GRE tunnel. The key field is used to identify an individual traffic flow of a session within a tunnel. Each GRE frame contains a data-packet and a GRE header. The GRE header can contain a sequence-number bit. If the sequence-number bit flag is present, then it indicates that the sequence number is included in the GRE header. The sequence number increases by one, each time a packet is sent from the PCF or the PDSN. The sequence number is provided in the GRE frame to ensure the receipt of the data-packets in the correct order. The PDSN maintains a current list of the last sequence number that it has sent or the last sequence number being received by the PCF.
A redundant PDSN environment is provided to enable uninterrupted services and better communication capabilities to the mobile stations. In a redundant PDSN environment, the user communication sessions that are terminated on a PDSN are not affected if the active PDSN malfunctions, because a standby PDSN immediately becomes active, taking over the functions of the malfunctioning PDSN. However, when the active PDSN currently hosting the session goes down, the standby PDSN does not know the last sequence number sent from the active PDSN or the last sequence number received from the PCF. This causes the received data-packet to be dropped in the time-space when the standby PDSN becomes active.
In a conventional method, the data-packet is dropped if the corresponding received sequence number lies in a last window size from an expected sequence number. For example, if the expected sequence number is x, then any received packet with sequence number between x−w to x−1 is dropped, where w is the window size. If the received sequence number lies outside the window, the data-packet is accepted and the sequence numbering continues from that sequence number. For a 32-bit GRE sequence number, typical window size could range from being as small as 8 to being as large as 2^31. Therefore, when a switchover takes place, a data-packet is prevented from being dropped. However, this method exhibits certain limitations when the peer's window size is unknown.